#ifndef _VALUE_OPTION_H_
#define _VALUE_OPTION_H_

#ifdef _WIN32
#pragma once
#endif

#include <iomanip>

#include "option.h"

class CValueOption : public COption
{
public:
    CValueOption(int nIndex, const string &szOptionText);
    CValueOption(int nIndex, const string &szOptionText, 
        const utils::PARAM &param);

    void setFunction(void (*function)(CMenu *, COption *, DELAY_PARAMS &,
        utils::PARAM &param, unsigned char chKey));

    virtual void callFunction(CMenu *pMenu, unsigned char chKey);
    virtual void setActive(bool bActive);

private:
    utils::PARAM m_Value;

    void (*m_pFunctionPtr)(CMenu *, COption *, DELAY_PARAMS &params,
        utils::PARAM &, unsigned char);
};

#endif